# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName : HJ27.py
# @Time     : 2024/2/28 21:16
# @Author   : Robot-Zsj
"""
description:

定义一个单词的“兄弟单词”为：交换该单词字母顺序（注：可以交换任意次），而不添加、删除、修改原有的字母就能生成的单词。

兄弟单词要求和原来的单词不同。例如：ab和ba是兄弟单词。ab和ab则不是兄弟单词。

现在给定你n个单词，另外再给你一个单词x，让你寻找x的兄弟单词里，按字典序列后的第k个单词是什么？

注意：字典中可能有重复单词。

数据范围：1<=n<=1000，输入的字符串长度满足1<=len(str)<=10, 1<=k<n

输入描述：
输入只有一行。先输入字典中单词的个数n，在输入n个单词作为字典单词，然后输入一个单词x，最后输入一个整数k
3 abc bca cab abc 1

输出描述：
第一行输出查找到x的兄弟单词的个数m，第二行输入查找到的按照字典顺序排序后的第k个兄弟单词，没有符合第k个的话则不用输出。
2
bca
"""
import pdb

while True:
    try:
        n, *word, x, k = input().split()
        n = int(n)
        k = int(k)
        result = []
        for i in word:
            if sorted(i) == sorted(x) and i != x:
                result.append(i)

        print(len(result))
        print(sorted(result)[k - 1])  # 要求按字典序列
    except:
        break
